import java.util.ArrayList;
import java.util.Iterator;

public class HiloPadre implements Runnable {
	private Pizarra monitor;
	private String nombre;
	private ArrayList<Thread> lista= new ArrayList<Thread>();
	private ArrayList<Hilo1> listaVirtual= new ArrayList<Hilo1>();
	public HiloPadre(String nombre) {
		this.monitor = monitor;
		this.nombre = nombre;

	}
	@Override
	public void run() {
		this.escribir();
	}
	
	public  void escribir(){
		System.out.println("Lanzo el hilo padre");
		Thread hilo;
		int numHilos = (int) (Math.random()*10+2);
		int numero = (int) (Math.random()*numHilos);
		monitor = new Pizarra(numero, numHilos*10);
		for(int i =0; i<numHilos;i++){
			Hilo1 virtualHilo = new Hilo1(monitor,"hilo",i,(numHilos-1));
			hilo = new Thread(virtualHilo);
			System.out.println("creo hilo"+i+"de "+(numHilos));
			hilo.start();
			lista.add(hilo);
			listaVirtual.add(virtualHilo);
			
		}
		Iterator<Thread> it = lista.iterator();
		while(it.hasNext()){
			try {
				it.next().join();
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		Iterator<Hilo1>it2 = listaVirtual.iterator();
		Hilo1 temp;
		int comprobacion=0;
		while(it2.hasNext()){
			temp = it2.next();
			temp.imprimirFilnal();
			comprobacion+=temp.getCont();
		}
		System.out.println("total de cambios de los hilos:"+comprobacion);
		System.out.println("Fin Hilo padre");
		
	}
}